package com.shire.bajocontrolredial.activity;

import android.content.Context;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.os.Bundle;
import android.preference.PreferenceActivity;
import android.preference.PreferenceManager;

import com.shire.bajocontrolredial.R;

/**
 * @author yhernandezdiaz
 */
public class BCRPreferencesActivity extends PreferenceActivity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);

		this.addPreferencesFromResource(R.xml.preferences);
	}

	private static SharedPreferences getPrefs(Context context) {
		return PreferenceManager.getDefaultSharedPreferences(context);
	}

	public static int getRetriesLimit(Context context) {
		final SharedPreferences prefs = getPrefs(context);
		if (prefs.getBoolean(context.getString(R.string.pref_limit_retries_key), false))
			return Integer.parseInt(prefs.getString(context.getString(R.string.pref_max_retries_key), context.getString(R.string.pref_max_retries_default)));
		else
			return Integer.MAX_VALUE;
	}

	public static int getCallInterval(Context context) {
		return Integer.parseInt(getPrefs(context).getString(context.getString(R.string.pref_call_interval_key), context.getString(R.string.pref_call_interval_default))) * 1000;
	}

	public static boolean isKeepScreenOnEnabled(Context context) {
		return getPrefs(context).getBoolean(context.getString(R.string.pref_keep_screen_on_key), false);
	}

	public static String getLastCardNumber(Context context, int service) {
		return getPrefs(context).getString(context.getString(R.string.pref_last_card_number_key, service), context.getString(R.string.pref_last_card_number_default));
	}

	public static int getLastUsedService(Context context) {
		return getPrefs(context).getInt(context.getString(R.string.pref_last_used_service_key), R.id.rBajoControl);
	}

	public static void saveLastUsedData(Context context, int service, String number) {
		final Editor prefEditor = getPrefs(context).edit();
		prefEditor.putInt(context.getString(R.string.pref_last_used_service_key), service);
		prefEditor.putString(context.getString(R.string.pref_last_card_number_key, service), number);
		prefEditor.commit();
	}

}
